   
      /* --- Original User Styles (with enhancements) --- */
      .recipe-card {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
      }
      .recipe-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
      }
      .difficulty-easy {
        background: linear-gradient(135deg, #10b981, #34d399);
      }
      .difficulty-medium {
        background: linear-gradient(135deg, #f59e0b, #fbbf24);
      }
      .difficulty-hard {
        background: linear-gradient(135deg, #ef4444, #f87171);
      }
      .meal-type-btn.active {
        background: linear-gradient(135deg, #3b82f6, #60a5fa);
        color: white;
      }
      .pantry-item {
        transition: all 0.2s ease;
      }
      .pantry-item:hover {
        background-color: #f3f4f6;
      }
      .search-input:focus {
        box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
      }
      .generate-btn {
        background: linear-gradient(135deg, #f97316, #fb923c);
        transition: all 0.3s ease;
      }
      .generate-btn:hover {
        background: linear-gradient(135deg, #ea580c, #f97316);
        transform: translateY(-2px);
      }
      .generate-btn:active, .load-more-btn:active, .view-recipe-btn:active {
        transform: translateY(0) scale(0.98); /* Press-down effect */
      }

      /* --- NEW ANIMATIONS --- */

      /* Keyframe Animations */
      @keyframes fadeInUp {
        from {
          opacity: 0;
          transform: translateY(20px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      @keyframes fadeOut {
        from {
          opacity: 1;
          transform: scale(1);
        }
        to {
          opacity: 0;
          transform: scale(0.95);
        }
      }

      @keyframes pop {
        0% { transform: scale(1); }
        50% { transform: scale(1.3) rotate(10deg); }
        100% { transform: scale(1) rotate(0deg); }
      }

      @keyframes slideInFromRight {
        from {
          transform: translateX(120%);
          opacity: 0;
        }
        to {
          transform: translateX(0);
          opacity: 1;
        }
      }

      @keyframes slideOutToRight {
        from {
          transform: translateX(0);
          opacity: 1;
        }
        to {
          transform: translateX(120%);
          opacity: 0;
        }
      }

      /* Animation Utility Classes */
      .animate-fadeInUp {
        animation: fadeInUp 0.5s ease-out forwards;
      }
      .animate-pop {
        animation: pop 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28);
      }
      .animate-fadeOut {
        animation: fadeOut 0.3s ease-out forwards;
      }

      /* Classes for animated elements */
      .animated-element, .recipe-card {
        opacity: 0; /* Initially hidden for load animation */
      }
      
      .favorite-btn span {
        display: inline-block; /* Required for transform */
      }

      /* Notification Styling */
      .notification {
        position: fixed;
        top: 1rem;
        right: 1rem;
        z-index: 100;
        animation: slideInFromRight 0.5s ease-out forwards, slideOutToRight 0.5s ease-out 2.5s forwards;
      }
    